<!--
 * @Date: 2022-01-17 06:25:13
 * @LastEditTime: 2022-11-04 08:27:01
-->
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <script>
    // 使用unshift和pop 也是一种方法
    function rotate(arr, k) {
      // 排除意外的情况
      if (!k || arr === []) return arr
      // 如果k超过了arr的长度 我们也能够进行遍历修改
      let step = Math.abs(k % arr.length)
      for (let i = 0; i < step; i++) {
        // 把最后一个数取出来 放到最前面 step有几个，就取几个
        // 如果说长度是4，但是k是5，那么5%4其实就是1
        let num = arr.pop()
        if (num) {
          arr.unshift(num)
        }
      }
      return arr
    }
    // console.log(rotate([1, 2, 3, 4, 5, 6, 7], 3));
    console.log(rotate([1, 2, 3, 4], 5));
  </script>
</body>

</html>